The functionalities of ErrorsInVariablesExtremes.jl are illustrated by producing an Extreme Value Analysis of unobserved riverflows of a section of the Chaudière River in Québec, Canada, from 1960 to 2020.
Loading the pseudo-observations into a vector of Pseudodata :
filename = "../../../test/data/A2020_Analyse_Historique_QMA_SLSO00003.nc"
pdata = load_discharge_distribution(filename)6-element Vector{Pseudodata}:
Pseudodata:
name: LN24HA
year: Vector{Int64}[60]
value:Vector{Distributions.LogNormal{Float64}}[60]
Pseudodata:
name: MG24HA
year: Vector{Int64}[60]
value:Vector{Distributions.LogNormal{Float64}}[60]
Pseudodata:
name: MG24HI
year: Vector{Int64}[60]
value:Vector{Distributions.LogNormal{Float64}}[60]
Pseudodata:
name: MG24HK
year: Vector{Int64}[60]
value:Vector{Distributions.LogNormal{Float64}}[60]
Pseudodata:
name: MG24HQ
year: Vector{Int64}[60]
value:Vector{Distributions.LogNormal{Float64}}[60]
Pseudodata:
name: MG24HS
year: Vector{Int64}[60]
value:Vector{Distributions.LogNormal{Float64}}[60]
The vector of years can be extracted:
years = pdata[1].year;60-element Vector{Int64}:
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
⋮
2012
2013
2014
2015
2016
2017
2018
2019
2020Converting the vector of Pseudodata to DataFrame:
df = convert(DataFrame, pdata)
first(df,5)5 rows × 3 columns
Year Configuration Distribution Int64 String Distribu… 1 1961 LN24HA Distributions.LogNormal{Float64}(μ=6.74475, σ=0.328861) 2 1962 LN24HA Distributions.LogNormal{Float64}(μ=6.66903, σ=0.60999) 3 1963 LN24HA Distributions.LogNormal{Float64}(μ=7.12515, σ=0.640745) 4 1964 LN24HA Distributions.LogNormal{Float64}(μ=7.12626, σ=0.484738) 5 1965 LN24HA Distributions.LogNormal{Float64}(μ=6.38777, σ=0.461077)
α = 0.5
df[:, :y] = median.(df.Distribution)
df[:, :ymin] = quantile.(df.Distribution, α/2)
df[:, :ymax] = quantile.(df.Distribution, 1-α/2)
first(df, 5)5 rows × 6 columns
Year Configuration Distribution y ymin ymax Int64 String Distribu… Float64 Float64 Float64 1 1961 LN24HA Distributions.LogNormal{Float64}(μ=6.74475, σ=0.328861) 849.59 680.577 1060.58 2 1962 LN24HA Distributions.LogNormal{Float64}(μ=6.66903, σ=0.60999) 787.629 521.962 1188.51 3 1963 LN24HA Distributions.LogNormal{Float64}(μ=7.12515, σ=0.640745) 1242.84 806.72 1914.72 4 1964 LN24HA Distributions.LogNormal{Float64}(μ=7.12626, σ=0.484738) 1244.22 897.229 1725.4 5 1965 LN24HA Distributions.LogNormal{Float64}(μ=6.38777, σ=0.461077) 594.528 435.623 811.399
set_default_plot_size(12cm, 8cm)
plot(df, x=:Year, y=:y, color=:Configuration, Geom.line,
ymin=:ymin, ymax=:ymax, Geom.ribbon,
Guide.ylabel("Discharge [m³/s]"))
Year
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
1900
1905
1910
1915
1920
1925
1930
1935
1940
1945
1950
1955
1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
2015
2020
2025
2030
2035
2040
2045
2050
2055
2060
2065
2070
2075
2080
1900
1950
2000
2050
2100
1900
1902
1904
1906
1908
1910
1912
1914
1916
1918
1920
1922
1924
1926
1928
1930
1932
1934
1936
1938
1940
1942
1944
1946
1948
1950
1952
1954
1956
1958
1960
1962
1964
1966
1968
1970
1972
1974
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2032
2034
2036
2038
2040
2042
2044
2046
2048
2050
2052
2054
2056
2058
2060
2062
2064
2066
2068
2070
2072
2074
2076
2078
2080
LN24HA
MG24HA
MG24HI
MG24HK
MG24HQ
MG24HS
Configuration
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-7.0×10³
-6.0×10³
-5.0×10³
-4.0×10³
-3.0×10³
-2.0×10³
-1.0×10³
0
1.0×10³
2.0×10³
3.0×10³
4.0×10³
5.0×10³
6.0×10³
7.0×10³
8.0×10³
9.0×10³
1.0×10⁴
1.1×10⁴
1.2×10⁴
1.3×10⁴
-6.00×10³
-5.50×10³
-5.00×10³
-4.50×10³
-4.00×10³
-3.50×10³
-3.00×10³
-2.50×10³
-2.00×10³
-1.50×10³
-1.00×10³
-5.00×10²
0
5.00×10²
1.00×10³
1.50×10³
2.00×10³
2.50×10³
3.00×10³
3.50×10³
4.00×10³
4.50×10³
5.00×10³
5.50×10³
6.00×10³
6.50×10³
7.00×10³
7.50×10³
8.00×10³
8.50×10³
9.00×10³
9.50×10³
1.00×10⁴
1.05×10⁴
1.10×10⁴
1.15×10⁴
1.20×10⁴
-1×10⁴
0
1×10⁴
2×10⁴
-6.00×10³
-5.80×10³
-5.60×10³
-5.40×10³
-5.20×10³
-5.00×10³
-4.80×10³
-4.60×10³
-4.40×10³
-4.20×10³
-4.00×10³
-3.80×10³
-3.60×10³
-3.40×10³
-3.20×10³
-3.00×10³
-2.80×10³
-2.60×10³
-2.40×10³
-2.20×10³
-2.00×10³
-1.80×10³
-1.60×10³
-1.40×10³
-1.20×10³
-1.00×10³
-8.00×10²
-6.00×10²
-4.00×10²
-2.00×10²
0
2.00×10²
4.00×10²
6.00×10²
8.00×10²
1.00×10³
1.20×10³
1.40×10³
1.60×10³
1.80×10³
2.00×10³
2.20×10³
2.40×10³
2.60×10³
2.80×10³
3.00×10³
3.20×10³
3.40×10³
3.60×10³
3.80×10³
4.00×10³
4.20×10³
4.40×10³
4.60×10³
4.80×10³
5.00×10³
5.20×10³
5.40×10³
5.60×10³
5.80×10³
6.00×10³
6.20×10³
6.40×10³
6.60×10³
6.80×10³
7.00×10³
7.20×10³
7.40×10³
7.60×10³
7.80×10³
8.00×10³
8.20×10³
8.40×10³
8.60×10³
8.80×10³
9.00×10³
9.20×10³
9.40×10³
9.60×10³
9.80×10³
1.00×10⁴
1.02×10⁴
1.04×10⁴
1.06×10⁴
1.08×10⁴
1.10×10⁴
1.12×10⁴
1.14×10⁴
1.16×10⁴
1.18×10⁴
1.20×10⁴
Discharge [m³/s]
config = "MG24HQ"
df2 = filter(row -> row.Configuration ==config, df)
set_default_plot_size(12cm, 8cm)
plot(df2, x=:Year, y=:y, Geom.line, Geom.point,
ymin=:ymin, ymax=:ymax, Geom.ribbon,
Guide.ylabel("Discharge [m³/s]"))
Year
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
1900
1905
1910
1915
1920
1925
1930
1935
1940
1945
1950
1955
1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
2015
2020
2025
2030
2035
2040
2045
2050
2055
2060
2065
2070
2075
2080
1900
1950
2000
2050
2100
1900
1902
1904
1906
1908
1910
1912
1914
1916
1918
1920
1922
1924
1926
1928
1930
1932
1934
1936
1938
1940
1942
1944
1946
1948
1950
1952
1954
1956
1958
1960
1962
1964
1966
1968
1970
1972
1974
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2032
2034
2036
2038
2040
2042
2044
2046
2048
2050
2052
2054
2056
2058
2060
2062
2064
2066
2068
2070
2072
2074
2076
2078
2080
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-5×10³
-4×10³
-3×10³
-2×10³
-1×10³
0
1×10³
2×10³
3×10³
4×10³
5×10³
6×10³
7×10³
8×10³
9×10³
-4.0×10³
-3.5×10³
-3.0×10³
-2.5×10³
-2.0×10³
-1.5×10³
-1.0×10³
-5.0×10²
0
5.0×10²
1.0×10³
1.5×10³
2.0×10³
2.5×10³
3.0×10³
3.5×10³
4.0×10³
4.5×10³
5.0×10³
5.5×10³
6.0×10³
6.5×10³
7.0×10³
7.5×10³
8.0×10³
-5×10³
0
5×10³
1×10⁴
-4.0×10³
-3.8×10³
-3.6×10³
-3.4×10³
-3.2×10³
-3.0×10³
-2.8×10³
-2.6×10³
-2.4×10³
-2.2×10³
-2.0×10³
-1.8×10³
-1.6×10³
-1.4×10³
-1.2×10³
-1.0×10³
-8.0×10²
-6.0×10²
-4.0×10²
-2.0×10²
0
2.0×10²
4.0×10²
6.0×10²
8.0×10²
1.0×10³
1.2×10³
1.4×10³
1.6×10³
1.8×10³
2.0×10³
2.2×10³
2.4×10³
2.6×10³
2.8×10³
3.0×10³
3.2×10³
3.4×10³
3.6×10³
3.8×10³
4.0×10³
4.2×10³
4.4×10³
4.6×10³
4.8×10³
5.0×10³
5.2×10³
5.4×10³
5.6×10³
5.8×10³
6.0×10³
6.2×10³
6.4×10³
6.6×10³
6.8×10³
7.0×10³
7.2×10³
7.4×10³
7.6×10³
7.8×10³
8.0×10³
Discharge [m³/s]
model1 = PseudoMaximaModel(pdata, prior=[Flat(), Flat(), LocationScale(-.5, 1, Beta(6,9))])PseudoMaximaModel
datadistribution: Vector{Pseudodata}[6]
location: μ ~ 1
logscale: ϕ ~ 1
shape: ξ ~ 1
prior: [Mamba.Flat(), Mamba.Flat(), Distributions.LocationScale{Float64, Distributions.Beta{Float64}}(
μ: -0.5
σ: 1.0
ρ: Distributions.Beta{Float64}(α=6.0, β=9.0)
)
]
fm1 = fitbayes(model1)PseudoMaximaEVA
model: PseudoMaximaModel
maxima:
Mamba.Chains
Iterations : 10000:20000
Thinning interval : 10
Chains : 1
Samples per chain : 1001
Value : Array{Float64, 3}[1001,60,1]
parameters:
Mamba.Chains
Iterations : 10000:20000
Thinning interval : 10
Chains : 1
Samples per chain : 1001
Value : Array{Float64, 3}[1001,3,1]
# Compute the estimates
ŷ = vec(mean( fm1.maxima[:, :, 1].value, dims=1))
# Compute the 95% credible interval
ymin = [quantile(vec(fm1.maxima[:, j, 1].value), .025) for j in 1:length(ŷ)]
ymax= [quantile(vec(fm1.maxima[:, j, 1].value), .975) for j in 1:length(ŷ)]
df = DataFrame(Year = years, Discharge=ŷ, ymin = ymin, ymax=ymax)
# Plot the ponctual estimates and the intervals
set_default_plot_size(12cm, 8cm)
plot(df, x=:Year, y=:Discharge, Geom.line, Geom.point,
ymin=ymin, ymax=ymax, Geom.ribbon
)
Year
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
1900
1905
1910
1915
1920
1925
1930
1935
1940
1945
1950
1955
1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
2015
2020
2025
2030
2035
2040
2045
2050
2055
2060
2065
2070
2075
2080
1900
1950
2000
2050
2100
1900
1902
1904
1906
1908
1910
1912
1914
1916
1918
1920
1922
1924
1926
1928
1930
1932
1934
1936
1938
1940
1942
1944
1946
1948
1950
1952
1954
1956
1958
1960
1962
1964
1966
1968
1970
1972
1974
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2032
2034
2036
2038
2040
2042
2044
2046
2048
2050
2052
2054
2056
2058
2060
2062
2064
2066
2068
2070
2072
2074
2076
2078
2080
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
-2000
-1800
-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
3800
4000
-2000
0
2000
4000
-2000
-1900
-1800
-1700
-1600
-1500
-1400
-1300
-1200
-1100
-1000
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
Discharge
set_default_plot_size(21cm ,16cm)
diagnosticplots(fm1, step = 20)
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
Data
-15.0
-12.5
-10.0
-7.5
-5.0
-2.5
0.0
2.5
5.0
7.5
10.0
12.5
15.0
17.5
20.0
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-20
-10
0
10
20
-11.0
-10.5
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
15.5
16.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
-0.5
0.0
0.5
1.0
-0.40
-0.38
-0.36
-0.34
-0.32
-0.30
-0.28
-0.26
-0.24
-0.22
-0.20
-0.18
-0.16
-0.14
-0.12
-0.10
-0.08
-0.06
-0.04
-0.02
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.22
0.24
0.26
0.28
0.30
0.32
0.34
0.36
0.38
0.40
0.42
0.44
0.46
0.48
0.50
0.52
0.54
0.56
0.58
0.60
0.62
0.64
0.66
0.68
0.70
0.72
0.74
0.76
0.78
0.80
0.82
Density
Residual density plot
Model
-25
-20
-15
-10
-5
0
5
10
15
20
25
30
-20
-19
-18
-17
-16
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-20
0
20
40
-20.0
-19.5
-19.0
-18.5
-18.0
-17.5
-17.0
-16.5
-16.0
-15.5
-15.0
-14.5
-14.0
-13.5
-13.0
-12.5
-12.0
-11.5
-11.0
-10.5
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
15.5
16.0
16.5
17.0
17.5
18.0
18.5
19.0
19.5
20.0
20.5
21.0
21.5
22.0
22.5
23.0
23.5
24.0
24.5
25.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-30
-25
-20
-15
-10
-5
0
5
10
15
20
25
30
35
40
-25
-20
-15
-10
-5
0
5
10
15
20
25
30
35
-40
-20
0
20
40
-25
-24
-23
-22
-21
-20
-19
-18
-17
-16
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Empirical
Residual quantile-quantile plot
Model
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
Empirical
Residual probability plot
set_default_plot_size(21cm ,16cm)
ErrorsInVariablesExtremes.diagnosticplots_iter(fm1, 200)
Return Period
10-2.5
10-2.0
10-1.5
10-1.0
10-0.5
100.0
100.5
101.0
101.5
102.0
102.5
103.0
103.5
104.0
104.5
10-2.0
10-1.8
10-1.6
10-1.4
10-1.2
10-1.0
10-0.8
10-0.6
10-0.4
10-0.2
100.0
100.2
100.4
100.6
100.8
101.0
101.2
101.4
101.6
101.8
102.0
102.2
102.4
102.6
102.8
103.0
103.2
103.4
103.6
103.8
104.0
10-2
100
102
104
10-2.0
10-1.9
10-1.8
10-1.7
10-1.6
10-1.5
10-1.4
10-1.3
10-1.2
10-1.1
10-1.0
10-0.9
10-0.8
10-0.7
10-0.6
10-0.5
10-0.4
10-0.3
10-0.2
10-0.1
100.0
100.1
100.2
100.3
100.4
100.5
100.6
100.7
100.8
100.9
101.0
101.1
101.2
101.3
101.4
101.5
101.6
101.7
101.8
101.9
102.0
102.1
102.2
102.3
102.4
102.5
102.6
102.7
102.8
102.9
103.0
103.1
103.2
103.3
103.4
103.5
103.6
103.7
103.8
103.9
104.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
-2000
-1800
-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
3800
4000
-2000
0
2000
4000
-2000
-1900
-1800
-1700
-1600
-1500
-1400
-1300
-1200
-1100
-1000
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
Return Level
Return Level Plot
Data
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
-2000
0
2000
4000
-850
-800
-750
-700
-650
-600
-550
-500
-450
-400
-350
-300
-250
-200
-150
-100
-50
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
1050
1100
1150
1200
1250
1300
1350
1400
1450
1500
1550
1600
1650
1700
1750
1800
1850
1900
1950
2000
2050
2100
2150
2200
2250
2300
2350
2400
2450
2500
2550
2600
2650
2700
2750
2800
2850
2900
2950
3000
3050
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-0.0025
-0.0020
-0.0015
-0.0010
-0.0005
0.0000
0.0005
0.0010
0.0015
0.0020
0.0025
0.0030
0.0035
0.0040
0.0045
-0.0020
-0.0018
-0.0016
-0.0014
-0.0012
-0.0010
-0.0008
-0.0006
-0.0004
-0.0002
0.0000
0.0002
0.0004
0.0006
0.0008
0.0010
0.0012
0.0014
0.0016
0.0018
0.0020
0.0022
0.0024
0.0026
0.0028
0.0030
0.0032
0.0034
0.0036
0.0038
0.0040
-0.002
0.000
0.002
0.004
-0.0020
-0.0019
-0.0018
-0.0017
-0.0016
-0.0015
-0.0014
-0.0013
-0.0012
-0.0011
-0.0010
-0.0009
-0.0008
-0.0007
-0.0006
-0.0005
-0.0004
-0.0003
-0.0002
-0.0001
0.0000
0.0001
0.0002
0.0003
0.0004
0.0005
0.0006
0.0007
0.0008
0.0009
0.0010
0.0011
0.0012
0.0013
0.0014
0.0015
0.0016
0.0017
0.0018
0.0019
0.0020
0.0021
0.0022
0.0023
0.0024
0.0025
0.0026
0.0027
0.0028
0.0029
0.0030
0.0031
0.0032
0.0033
0.0034
0.0035
0.0036
0.0037
0.0038
0.0039
0.0040
Density
Density Plot
Model
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
-1500
-1400
-1300
-1200
-1100
-1000
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
-2000
0
2000
4000
-1500
-1450
-1400
-1350
-1300
-1250
-1200
-1150
-1100
-1050
-1000
-950
-900
-850
-800
-750
-700
-650
-600
-550
-500
-450
-400
-350
-300
-250
-200
-150
-100
-50
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
1050
1100
1150
1200
1250
1300
1350
1400
1450
1500
1550
1600
1650
1700
1750
1800
1850
1900
1950
2000
2050
2100
2150
2200
2250
2300
2350
2400
2450
2500
2550
2600
2650
2700
2750
2800
2850
2900
2950
3000
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
-2000
-1800
-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
3800
4000
-2000
0
2000
4000
-2000
-1900
-1800
-1700
-1600
-1500
-1400
-1300
-1200
-1100
-1000
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
Empirical
Quantile Plot
Model
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
Empirical
Probability Plot
# Return period
T = 20
r = vec(quantile(fm1, 1-1/T))
set_default_plot_size(12cm, 8cm)
plot(x=r, Geom.density,
Guide.xlabel(string(T,"-year return level [m³/s]")), Guide.ylabel("Density"))
20-year return level [m³/s]
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
4000
-1000
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
-2000
0
2000
4000
-1000
-950
-900
-850
-800
-750
-700
-650
-600
-550
-500
-450
-400
-350
-300
-250
-200
-150
-100
-50
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
1050
1100
1150
1200
1250
1300
1350
1400
1450
1500
1550
1600
1650
1700
1750
1800
1850
1900
1950
2000
2050
2100
2150
2200
2250
2300
2350
2400
2450
2500
2550
2600
2650
2700
2750
2800
2850
2900
2950
3000
3050
3100
3150
3200
3250
3300
3350
3400
3450
3500
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-0.005
-0.004
-0.003
-0.002
-0.001
0.000
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
-0.0040
-0.0035
-0.0030
-0.0025
-0.0020
-0.0015
-0.0010
-0.0005
0.0000
0.0005
0.0010
0.0015
0.0020
0.0025
0.0030
0.0035
0.0040
0.0045
0.0050
0.0055
0.0060
0.0065
0.0070
0.0075
0.0080
-0.005
0.000
0.005
0.010
-0.0040
-0.0038
-0.0036
-0.0034
-0.0032
-0.0030
-0.0028
-0.0026
-0.0024
-0.0022
-0.0020
-0.0018
-0.0016
-0.0014
-0.0012
-0.0010
-0.0008
-0.0006
-0.0004
-0.0002
0.0000
0.0002
0.0004
0.0006
0.0008
0.0010
0.0012
0.0014
0.0016
0.0018
0.0020
0.0022
0.0024
0.0026
0.0028
0.0030
0.0032
0.0034
0.0036
0.0038
0.0040
0.0042
0.0044
0.0046
0.0048
0.0050
0.0052
0.0054
0.0056
0.0058
0.0060
0.0062
0.0064
0.0066
0.0068
0.0070
0.0072
0.0074
0.0076
0.0078
0.0080
Density
The location parameter of the GEV law is a function of the GHG concentration in the atmosphere.
co2data = CSV.read("../../../test/data/RCPdata.csv", DataFrame);
filter!(row->row.Year in pdata[1].year, co2data)
co2data[:, :RCP85std] = (co2data.RCP85 .- mean(co2data.RCP85)) ./ std(co2data.RCP85)
co2data[:, :t] = (co2data.Year .- mean(co2data.Year)) ./ std(co2data.Year)
locationcov= Extremes.buildVariables(co2data, [:RCP85std])1-element Vector{Variable}:
Variable("RCP85std", [-1.376722640765529, -1.3793399105790183, -1.3657157891516738, -1.3519670754696365, -1.3294733174521327, -1.297726988965904, -1.2691370900946515, -1.2354627727763483, -1.185784594217248, -1.1244732729110187 … 1.191575756910509, 1.2793392070876608, 1.3725394858754691, 1.4691661904114712, 1.5697698575181818, 1.674141261003983, 1.7819815459506014, 1.8931222769491316, 2.008764145950698, 2.130009614041917])model2 = PseudoMaximaModel(pdata, locationcov = locationcov,
prior=[Flat(), Flat(), Flat(), LocationScale(-.5, 1, Beta(6,9))])PseudoMaximaModel
datadistribution: Vector{Pseudodata}[6]
location: μ ~ 1 + RCP85std
logscale: ϕ ~ 1
shape: ξ ~ 1
prior: [Mamba.Flat(), Mamba.Flat(), Mamba.Flat(), Distributions.LocationScale{Float64, Distributions.Beta{Float64}}(
μ: -0.5
σ: 1.0
ρ: Distributions.Beta{Float64}(α=6.0, β=9.0)
)
]
fm2 = fitbayes(model2)PseudoMaximaEVA
model: PseudoMaximaModel
maxima:
Mamba.Chains
Iterations : 10000:20000
Thinning interval : 10
Chains : 1
Samples per chain : 1001
Value : Array{Float64, 3}[1001,60,1]
parameters:
Mamba.Chains
Iterations : 10000:20000
Thinning interval : 10
Chains : 1
Samples per chain : 1001
Value : Array{Float64, 3}[1001,4,1]
# Compute the estimates
ŷ = vec(mean( fm2.maxima[:, :, 1].value, dims=1))
# Compute the 95% credible interval
ymin = [quantile(vec(fm2.maxima[:, j, 1].value), .025) for j in 1:length(ŷ)]
ymax= [quantile(vec(fm2.maxima[:, j, 1].value), .975) for j in 1:length(ŷ)]
df = DataFrame(Year = years, Discharge=ŷ, ymin = ymin, ymax=ymax)
# Plot the ponctual estimates and the intervals
set_default_plot_size(12cm, 8cm)
plot(df, x=:Year, y=:Discharge, Geom.line, Geom.point,
ymin=ymin, ymax=ymax, Geom.ribbon
)
Year
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
1900
1905
1910
1915
1920
1925
1930
1935
1940
1945
1950
1955
1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
2015
2020
2025
2030
2035
2040
2045
2050
2055
2060
2065
2070
2075
2080
1900
1950
2000
2050
2100
1900
1902
1904
1906
1908
1910
1912
1914
1916
1918
1920
1922
1924
1926
1928
1930
1932
1934
1936
1938
1940
1942
1944
1946
1948
1950
1952
1954
1956
1958
1960
1962
1964
1966
1968
1970
1972
1974
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2032
2034
2036
2038
2040
2042
2044
2046
2048
2050
2052
2054
2056
2058
2060
2062
2064
2066
2068
2070
2072
2074
2076
2078
2080
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
-2000
-1800
-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
3800
4000
-2000
0
2000
4000
-2000
-1900
-1800
-1700
-1600
-1500
-1400
-1300
-1200
-1100
-1000
-900
-800
-700
-600
-500
-400
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
Discharge
set_default_plot_size(21cm ,16cm)
diagnosticplots(fm2, step = 20)
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
Data
-15.0
-12.5
-10.0
-7.5
-5.0
-2.5
0.0
2.5
5.0
7.5
10.0
12.5
15.0
17.5
20.0
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-20
-10
0
10
20
-11.0
-10.5
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
15.5
16.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
-0.5
0.0
0.5
1.0
-0.40
-0.38
-0.36
-0.34
-0.32
-0.30
-0.28
-0.26
-0.24
-0.22
-0.20
-0.18
-0.16
-0.14
-0.12
-0.10
-0.08
-0.06
-0.04
-0.02
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.22
0.24
0.26
0.28
0.30
0.32
0.34
0.36
0.38
0.40
0.42
0.44
0.46
0.48
0.50
0.52
0.54
0.56
0.58
0.60
0.62
0.64
0.66
0.68
0.70
0.72
0.74
0.76
0.78
0.80
0.82
Density
Residual density plot
Model
-25
-20
-15
-10
-5
0
5
10
15
20
25
30
-20
-19
-18
-17
-16
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-20
0
20
40
-20.0
-19.5
-19.0
-18.5
-18.0
-17.5
-17.0
-16.5
-16.0
-15.5
-15.0
-14.5
-14.0
-13.5
-13.0
-12.5
-12.0
-11.5
-11.0
-10.5
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
15.5
16.0
16.5
17.0
17.5
18.0
18.5
19.0
19.5
20.0
20.5
21.0
21.5
22.0
22.5
23.0
23.5
24.0
24.5
25.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-15.0
-12.5
-10.0
-7.5
-5.0
-2.5
0.0
2.5
5.0
7.5
10.0
12.5
15.0
17.5
20.0
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-20
-10
0
10
20
-12.5
-12.0
-11.5
-11.0
-10.5
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
15.5
16.0
16.5
17.0
17.5
Empirical
Residual quantile-quantile plot
Model
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
Empirical
Residual probability plot
set_default_plot_size(21cm ,16cm)
ErrorsInVariablesExtremes.diagnosticplots_iter(fm2, 200)
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
Data
-15.0
-12.5
-10.0
-7.5
-5.0
-2.5
0.0
2.5
5.0
7.5
10.0
12.5
15.0
17.5
20.0
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-20
-10
0
10
20
-11.0
-10.5
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
15.5
16.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
-0.5
0.0
0.5
1.0
-0.40
-0.38
-0.36
-0.34
-0.32
-0.30
-0.28
-0.26
-0.24
-0.22
-0.20
-0.18
-0.16
-0.14
-0.12
-0.10
-0.08
-0.06
-0.04
-0.02
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.22
0.24
0.26
0.28
0.30
0.32
0.34
0.36
0.38
0.40
0.42
0.44
0.46
0.48
0.50
0.52
0.54
0.56
0.58
0.60
0.62
0.64
0.66
0.68
0.70
0.72
0.74
0.76
0.78
0.80
0.82
Density
Residual Density Plot
Model
-12
-10
-8
-6
-4
-2
0
2
4
6
8
10
12
14
16
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
-10
0
10
20
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-12
-10
-8
-6
-4
-2
0
2
4
6
8
10
12
14
16
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
-10
0
10
20
-10.0
-9.5
-9.0
-8.5
-8.0
-7.5
-7.0
-6.5
-6.0
-5.5
-5.0
-4.5
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
8.5
9.0
9.5
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
Empirical
Residual Quantile Plot
Model
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
-1
0
1
2
-1.00
-0.95
-0.90
-0.85
-0.80
-0.75
-0.70
-0.65
-0.60
-0.55
-0.50
-0.45
-0.40
-0.35
-0.30
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1.40
1.45
1.50
1.55
1.60
1.65
1.70
1.75
1.80
1.85
1.90
1.95
2.00
Empirical
Residual Probability Plot
# Return period
T = 20
r = quantile(fm2, 1-1/T)
df = DataFrame(Iteration = 1:size(r,1))
colnames = string.(pdata[1].year)
for j in 1:size(r,2)
df[:, colnames[j]] = r[:,j]
end
longdf = stack(df, Not(:Iteration))
rename!(longdf, :variable => :Year )
longdf[!,:Year] = parse.(Int,longdf.Year)
df_quantile = combine(groupby(longdf, :Year),
:value => (x -> quantile(x, .025)) => :ymin,
:value => mean => :ȳ,
:value => (x -> quantile(x, .975)) => :ymax)
set_default_plot_size(12cm, 8cm)
plot(df_quantile, x=:Year, y=:ȳ, Geom.line,
ymin=:ymin, ymax=:ymax, Geom.ribbon,
Guide.ylabel(string(T,"-year return level [m³/s]")))
Year
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
1900
1905
1910
1915
1920
1925
1930
1935
1940
1945
1950
1955
1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
2015
2020
2025
2030
2035
2040
2045
2050
2055
2060
2065
2070
2075
2080
1900
1950
2000
2050
2100
1900
1902
1904
1906
1908
1910
1912
1914
1916
1918
1920
1922
1924
1926
1928
1930
1932
1934
1936
1938
1940
1942
1944
1946
1948
1950
1952
1954
1956
1958
1960
1962
1964
1966
1968
1970
1972
1974
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2032
2034
2036
2038
2040
2042
2044
2046
2048
2050
2052
2054
2056
2058
2060
2062
2064
2066
2068
2070
2072
2074
2076
2078
2080
h,j,k,l,arrows,drag to pan
i,o,+,-,scroll,shift-drag to zoom
r,dbl-click to reset
c for coordinates
? for help
?
-500
-250
0
250
500
750
1000
1250
1500
1750
2000
2250
2500
2750
3000
-300
-200
-100
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
-1000
0
1000
2000
3000
-250
-200
-150
-100
-50
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
1050
1100
1150
1200
1250
1300
1350
1400
1450
1500
1550
1600
1650
1700
1750
1800
1850
1900
1950
2000
2050
2100
2150
2200
2250
2300
2350
2400
2450
2500
2550
2600
2650
2700
2750
20-year return level [m³/s]
res = dic.([fm1, fm2])
argmin(res)1